package _09反射获取成员方法Method;

import java.lang.reflect.Method;

public class DemoGetMethod {

    public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException {
        Class<?> aClass = Class.forName("com.asin.domain.Person");
        //获取所有公开的成员方法
        Method[] methods = aClass.getMethods();
        for (Method method : methods) {
            System.out.println(method.getName());
        }
        System.out.println("===========================================");
        //获取一个成员方法(无参）
        Method getName = aClass.getMethod("getName");
        System.out.println(getName);
        System.out.println("===========================================");
        //获取一个成员方法(带参）
        Method setName = aClass.getMethod("setName", String.class);
        System.out.println(setName);

        //获取类中任意权限的成员方法，不包含继承的
        System.out.println("===========================================");
        Method[] declaredMethods = aClass.getDeclaredMethods();
        for (Method m : declaredMethods) {
            System.out.println(m.getName());
        }
    }
}
